package net.esj.basic.utils;

import java.util.HashSet;
import java.util.Set;

public class JavaProtoType {
	
	public static final Set<Class<?>> JAVA_PROTO_AND_ARRAY_TYPE = new HashSet<Class<?>>();
	static{
		JAVA_PROTO_AND_ARRAY_TYPE.add(Float.TYPE);
		JAVA_PROTO_AND_ARRAY_TYPE.add(String.class);
		JAVA_PROTO_AND_ARRAY_TYPE.add(Double.TYPE);
		JAVA_PROTO_AND_ARRAY_TYPE.add(Integer.TYPE);
		JAVA_PROTO_AND_ARRAY_TYPE.add(Character.TYPE);
		JAVA_PROTO_AND_ARRAY_TYPE.add(Short.TYPE);
		JAVA_PROTO_AND_ARRAY_TYPE.add(Long.TYPE);
		JAVA_PROTO_AND_ARRAY_TYPE.add(Byte.TYPE);
		JAVA_PROTO_AND_ARRAY_TYPE.add(Boolean.TYPE);
		JAVA_PROTO_AND_ARRAY_TYPE.add(Boolean.class);
		JAVA_PROTO_AND_ARRAY_TYPE.add(Integer.class);
		JAVA_PROTO_AND_ARRAY_TYPE.add(Float.class);
		JAVA_PROTO_AND_ARRAY_TYPE.add(Byte.class);
		JAVA_PROTO_AND_ARRAY_TYPE.add(Long.class);
		JAVA_PROTO_AND_ARRAY_TYPE.add(Character.class);
		JAVA_PROTO_AND_ARRAY_TYPE.add(Double.class);
		JAVA_PROTO_AND_ARRAY_TYPE.add(Short.class);
		JAVA_PROTO_AND_ARRAY_TYPE.add(boolean.class);
		JAVA_PROTO_AND_ARRAY_TYPE.add(int.class);
		JAVA_PROTO_AND_ARRAY_TYPE.add(float.class);
		JAVA_PROTO_AND_ARRAY_TYPE.add(double.class);
		JAVA_PROTO_AND_ARRAY_TYPE.add(char.class);
		JAVA_PROTO_AND_ARRAY_TYPE.add(long.class);
		JAVA_PROTO_AND_ARRAY_TYPE.add(byte.class);
		JAVA_PROTO_AND_ARRAY_TYPE.add(Integer[].class);
		JAVA_PROTO_AND_ARRAY_TYPE.add(Float[].class);
		JAVA_PROTO_AND_ARRAY_TYPE.add(Double[].class);
		JAVA_PROTO_AND_ARRAY_TYPE.add(Character[].class);
		JAVA_PROTO_AND_ARRAY_TYPE.add(Short[].class);
		JAVA_PROTO_AND_ARRAY_TYPE.add(Byte[].class);
		JAVA_PROTO_AND_ARRAY_TYPE.add(Boolean[].class);
		JAVA_PROTO_AND_ARRAY_TYPE.add(Long[].class);
		JAVA_PROTO_AND_ARRAY_TYPE.add(String[].class);
		JAVA_PROTO_AND_ARRAY_TYPE.add(int[].class);
		JAVA_PROTO_AND_ARRAY_TYPE.add(float[].class);
		JAVA_PROTO_AND_ARRAY_TYPE.add(double[].class);
		JAVA_PROTO_AND_ARRAY_TYPE.add(char[].class);
		JAVA_PROTO_AND_ARRAY_TYPE.add(short[].class);
		JAVA_PROTO_AND_ARRAY_TYPE.add(boolean[].class);
		JAVA_PROTO_AND_ARRAY_TYPE.add(byte[].class);
		JAVA_PROTO_AND_ARRAY_TYPE.add(long[].class);
	}
	
	public static final Set<Class<?>> JAVA_PROTO_TYPE = new HashSet<Class<?>>();
	static{
		JAVA_PROTO_TYPE.add(Float.TYPE);
		JAVA_PROTO_TYPE.add(String.class);
		JAVA_PROTO_TYPE.add(Double.TYPE);
		JAVA_PROTO_TYPE.add(Integer.TYPE);
		JAVA_PROTO_TYPE.add(Character.TYPE);
		JAVA_PROTO_TYPE.add(Short.TYPE);
		JAVA_PROTO_TYPE.add(Long.TYPE);
		JAVA_PROTO_TYPE.add(Byte.TYPE);
		JAVA_PROTO_TYPE.add(Boolean.TYPE);
		JAVA_PROTO_TYPE.add(Boolean.class);
		JAVA_PROTO_TYPE.add(Integer.class);
		JAVA_PROTO_TYPE.add(Float.class);
		JAVA_PROTO_TYPE.add(Byte.class);
		JAVA_PROTO_TYPE.add(Long.class);
		JAVA_PROTO_TYPE.add(Character.class);
		JAVA_PROTO_TYPE.add(Double.class);
		JAVA_PROTO_TYPE.add(Short.class);
		JAVA_PROTO_TYPE.add(boolean.class);
		JAVA_PROTO_TYPE.add(int.class);
		JAVA_PROTO_TYPE.add(float.class);
		JAVA_PROTO_TYPE.add(double.class);
		JAVA_PROTO_TYPE.add(char.class);
		JAVA_PROTO_TYPE.add(long.class);
		JAVA_PROTO_TYPE.add(byte.class);
	}
	
	public static final Set<Class<?>> JAVA_ARRAY_TYPE = new HashSet<Class<?>>();
	static{
		JAVA_ARRAY_TYPE.add(Integer[].class);
		JAVA_ARRAY_TYPE.add(Float[].class);
		JAVA_ARRAY_TYPE.add(Double[].class);
		JAVA_ARRAY_TYPE.add(Character[].class);
		JAVA_ARRAY_TYPE.add(Short[].class);
		JAVA_ARRAY_TYPE.add(Byte[].class);
		JAVA_ARRAY_TYPE.add(Boolean[].class);
		JAVA_ARRAY_TYPE.add(Long[].class);
		JAVA_ARRAY_TYPE.add(String[].class);
		JAVA_ARRAY_TYPE.add(int[].class);
		JAVA_ARRAY_TYPE.add(float[].class);
		JAVA_ARRAY_TYPE.add(double[].class);
		JAVA_ARRAY_TYPE.add(char[].class);
		JAVA_ARRAY_TYPE.add(short[].class);
		JAVA_ARRAY_TYPE.add(boolean[].class);
		JAVA_ARRAY_TYPE.add(byte[].class);
		JAVA_ARRAY_TYPE.add(long[].class);
	}
}
